#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;
class Base 
{
public:
	int Bvalue;
	Base(int v)
	{
		Bvalue = v;
	}

};
class D1 :virtual public Base
{
public:
	int Dvalue;
	D1(int v, int b) :Base(v)
	{
		Dvalue = b;
	}
};
class D2:virtual public Base
{
public:
	int D2value;
	D2(int v, int c) :Base(v)
	{
		D2value = c;
	}
};

class D :public D1, public D2
{
public:
	int Dvalue;
	D(int a, int b, int c, int d) :Base(a),D1(a, b), D2(c, d)
	{
		Dvalue = d;
	}
};

int main()
{
	D obj(1, 2, 3, 4);
	cout << obj.Bvalue << endl;
	return 0;
}